翻訳と辞書
Words near each other
・ Flow The Max
・ Flow through cascades
・ Flow to HDL
・ Flow to market
・ Flow tracer
・ Flow trading
・ Flow Tribe
・ Flow velocity
・ Flow visualization
・ Flow waveform
・ Flow with the Tide
・ Flow Zone Unit
・ Flow, River of My Soul
・ Flow, Turbulence and Combustion
・ Flow-accelerated corrosion
Flow-based programming
・ Flow-equivalent server method
・ Flow-FISH
・ Flow-following, finite-volume Icosahedral Model
・ FLOW-MATIC
・ Flow-restricted, oxygen-powered ventilation device
・ Flow-through entity
・ Flow-through test
・ Flowamatic-9
・ FloWatch
・ FloWaveTT
・ Flowbee
・ Flowboard
・ Flowboard Presentation Software
・ Flowchart


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Flow-based programming : ウィキペディア英語版
Flow-based programming

In computer programming, flow-based programming (FBP) is a programming paradigm that defines applications as networks of "black box" processes, which exchange data across predefined connections by message passing, where the connections are specified ''externally'' to the processes. These black box processes can be reconnected endlessly to form different applications without having to be changed internally. FBP is thus naturally component-oriented.
FBP is a particular form of dataflow programming based on bounded buffers, information packets with defined lifetimes, named ports, and separate definition of connections.〔J. Paul Morrison, ''Flow-Based Programming, 2nd Edition: A New Approach to Application Development,'' CreateSpace, 2010, ISBN 1-4515-4232-1〕
== Introduction ==
Flow-based programming defines applications using the metaphor of a "data factory". It views an application not as a single, sequential process, which starts at a point in time, and then does one thing at a time until it is finished, but as a network of asynchronous processes communicating by means of streams of structured data chunks, called "information packets" (IPs). In this view, the focus is on the application data and the transformations applied to it to produce the desired outputs. The network is defined externally to the processes, as a list of connections which is interpreted by a piece of software, usually called the "scheduler".
The processes communicate by means of fixed-capacity connections. A connection is attached to a process by means of a port, which has a name agreed upon between the process code and the network definition. More than one process can execute the same piece of code. At any point in time, a given IP can only be "owned" by a single process, or be in transit between two processes. Ports may either be simple, or array-type, as used e.g. for the input port of the Collate component described below. It is the combination of ports with asynchronous processes that allows many long-running primitive functions of data processing, such as Sort, Merge, Summarize, etc., to be supported in the form of software black boxes.
Because FBP processes can continue executing as long they have data to work on and somewhere to put their output, FBP applications generally run in less elapsed time than conventional programs, and make optimal use of all the processors on a machine, with no special programming required to achieve this.
The network definition is usually diagrammatic, and is converted into a connection list in some lower-level language or notation. FBP is thus a visual programming language at this level. More complex network definitions have a hierarchical structure, being built up from subnets with "sticky" connections.
FBP has much in common with the Linda〔N. Carriero and D. Gelernter, ''Linda in Context'', Communications of the ACM, Vol. 32, No. 4, April 1989〕 language in that it is, in Gelernter and Carriero's terminology, a "coordination language":〔N. Carriero and D. Gelernter, ''Coordination Languages and their Significance'', Communications of the ACM, Vol. 35, No. 2, February 1992〕 it is essentially language-independent. Indeed, given a scheduler written in a sufficiently low-level language, components written in different languages can be linked together in a single network. FBP thus lends itself to the concept of domain-specific languages or "mini-languages".
FBP exhibits "data coupling", described in the article on coupling as the loosest type of coupling between components. The concept of loose coupling is in turn related to that of service-oriented architectures, and FBP fits a number of the criteria for such an architecture, albeit at a more fine-grained level than most examples of this architecture.
FBP promotes high-level, functional style of specifications that simplify reasoning about system behavior. An example of this is the distributed data flow model for constructively specifying and analyzing the semantics of distributed multi-party protocols.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Flow-based programming」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.